import App from './App'

// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'

// 全局配置
Vue.config.productionTip = false

// 全局属性
Vue.prototype.$baseURL = 'http://localhost:8080'

// 全局方法
Vue.prototype.$showLoading = (title = '加载中...') => {
  uni.showLoading({ title })
}

Vue.prototype.$hideLoading = () => {
  uni.hideLoading()
}

Vue.prototype.$showToast = (title, icon = 'none') => {
  uni.showToast({ title, icon })
}

Vue.prototype.$showModal = (options) => {
  return new Promise((resolve) => {
    uni.showModal({
      ...options,
      success: resolve
    })
  })
}

// 全局错误处理
Vue.config.errorHandler = (err, vm, info) => {
  console.error('全局错误:', err, info)
  uni.showToast({
    title: '系统错误',
    icon: 'none'
  })
}

App.mpType = 'app'
const app = new Vue({
  ...App
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
// #endif